package cn.tedu.map;

import org.junit.Test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.ListIterator;

/*本类用来测试list 实现类 ArrayList*/
public class TestArraylist {
    @Test
    public void test() {
        ArrayList<Integer> list = new ArrayList<>();
        list.add(100);
        list.add(200);
        list.add(300);
        list.add(400);
        list.add(500);
        list.add(600);
        list.add(200);
        // list.clear();//清空集合
        System.out.println(list.contains(100));//是否包含指定元素100
        System.out.println(list.get(1));//获取索引为一下标元素
        System.out.println(list.indexOf(200));//该元素第一次出现的下标
        System.out.println(list.lastIndexOf(200));//该元素最后一次出现的下标
        System.out.println(list.remove(1));//移除该下标元素
       // System.out.println(list.remove(300));//注意 写入int类型，默认为下标
        //   System.out.println(list.remove(new Integer(300)));//效率低 自动拆箱封箱
        System.out.println(list.remove(Integer.valueOf(300)));//效率高
        System.out.println(list.size());//获取集合
        System.out.println(Arrays.toString(list.toArray()));//将集合转化为数字并打印
        /*集合遍历
         */

        Iterator<Integer> iterator = list.iterator();
        while (iterator.hasNext()){
            System.out.print(iterator.next()+"\t");
        }
        System.out.println();
        System.out.println();
        ListIterator<Integer> it = list.listIterator();
        while (it.hasNext()){
            System.out.print(it.next());
        }
        System.out.println();
        for (Integer a:list
             ) {
            System.out.print(a+"\t");

        }
        System.out.println();
        System.out.println("************");
        for (int i=0;i<list.size();i++){
            System.out.print(list.get(i)+"\t");
        }
        System.out.println();
        System.out.println("*************12");


    }

}
